package string;

public class Main {
    public static void main(String[] args) {
        String s1 = "abc"+"def";
        String s2 = new String(s1);
        if(s1.equals(s2)){
            System.out.println(".equals succeeded");
        }
        if(s1 == s2){
            System.out.println("== succeeded");
        }
    }

    // 输出是false 原因是String类的这些操作都是重新创建了新的对象 返回这个新的对象的值
    // 所以userId.toLowerCase() 的结果虽然是admin却不是=="admin"的 并且==比较的是引用对象中存的值 也就是说这个对象的地址
//    public static boolean isAdmin(String userId){
//        return userId.toLowerCase() == "admin";
//    }
//
//    public static void main(String[] args) {
//        System.out.println(isAdmin("Admin"));
//    }
//    String str = new String("good");
//    char[] ch = {'a','b','c'};
//
//    public static void main(String[] args) {
//        Main m = new Main();
//        m.change(m.str,m.ch);
//        System.out.println(m.str + "and");
//        System.out.print(m.ch);
//
//        // 该输出是good and gbc 原因是在change中的str = ”test ok“ 并没有真的改变str的值
//    }
//    public void change(String str,char[] ch){
//        str = "test ok";
//        ch[0] = 'g';
//    }
}
